#ifndef INTEPRET_CONTEXT_H
#define INTEPRET_CONTEXT_H

#include "VariableStack.h"
#include "LanguageSymbols.h"
#include <vector>
using namespace std;

struct InterpretContext
{
public:
    InterpretContext() { compiler = nullptr; }
    VariableStack* GetVariableTableStack()
    {
        return &variable_table_stack;
    }
    vector<Symbols>* GetParameterStack()
    {
        return &parameter_stack;
    }
public:
    VariableStack variable_table_stack;
    vector<Symbols> parameter_stack;
    LanguageGrammar language_grammar;
    Compiler *compiler;
};

#endif //INTEPRET_CONTEXT_H
